diff --git a/solve/build.gradle b/solve/build.gradle
index 70bdcd6bc8b7843bf5f6c405598368923de6bd6c..e230dc084de1d3b7fe532d77d8a8cdbf744b1024 100644
--- a/solve/build.gradle
+++ b/solve/build.gradle
@@ -91,7 +91,7 @@ sourceSets {
 test.outputs.upToDateWhen {false}
 
 // Comment this in to regenerate the generated AST
-//jastadd.dependsOn preprocess
+jastadd.dependsOn preprocess
 compileJava.dependsOn jastadd
 
 // always run jastadd
diff --git a/solve/libs/relast-compiler.jar b/solve/libs/relast-compiler.jar
index 071b1ada529fc6a87987e9756fd049058d99dbc9..b34b7ad458dc69677a919df76e649aa72b773873 100644
Binary files a/solve/libs/relast-compiler.jar and b/solve/libs/relast-compiler.jar differ
diff --git a/solve/src/main/jastadd/ApplyChanges.jadd b/solve/src/main/jastadd/ApplyChanges.jadd
index d449578d85ff0d18d4f4d2a821c7fc73e685f851..274e1c29893f4f08ba50eb611175a4ef86da7848 100644
--- a/solve/src/main/jastadd/ApplyChanges.jadd
+++ b/solve/src/main/jastadd/ApplyChanges.jadd
@@ -25,19 +25,19 @@ aspect ApplyChanges {
           java.util.Objects.requireNonNull(getAddedElement(), () -> "Added Element was null in " + this);
           Submission submission = java.util.Objects.requireNonNull(getAddedElement().asSubmission(),
             () -> "Was no submission, instead " + getAddedElement());
-          user.addToSubmissions(submission);
+          user.addSubmission(submission);
           return;
         case "friends":
           java.util.Objects.requireNonNull(getAddedElement(), () -> "Added Element was null in " + this);
           User friend = java.util.Objects.requireNonNull(getAddedElement().asUser(),
             () -> "Was no user, instead " + getAddedElement());
-          user.addToFriends(friend);
+          user.addFriend(friend);
           return;
         case "likes":
           java.util.Objects.requireNonNull(getAddedElement(), () -> "Added Element was null in " + this);
           Comment like = java.util.Objects.requireNonNull(getAddedElement().asComment(),
             () -> "Was no comment, instead " + getAddedElement());
-          user.addToLikes(like);
+          user.addLike(like);
           return;
       }
     }
diff --git a/solve/src/main/jastadd/Checking.jrag b/solve/src/main/jastadd/Checking.jrag
index a485b1eb144613c19d9340bc2ee4831fdcf44c92..88cfb6ee266084fa490424001ca3f14077857105 100644
--- a/solve/src/main/jastadd/Checking.jrag
+++ b/solve/src/main/jastadd/Checking.jrag
@@ -40,9 +40,9 @@ aspect Checking {
   }
 
   eq User.isValid() {
-    return checkGeneralListValid(friends(), "Friend") &&
-           checkGeneralListValid(submissions(), "Submission") &&
-           checkGeneralListValid(likes(), "Like") && checkThat(getName() != null, "User" + getId() + ".Name == null");
+    return checkGeneralListValid(getFriendList(), "Friend") &&
+           checkGeneralListValid(getSubmissionList(), "Submission") &&
+           checkGeneralListValid(getLikeList(), "Like") && checkThat(getName() != null, "User" + getId() + ".Name == null");
   }
 
   eq Submission.isValid() {
diff --git a/solve/src/main/jastadd/SocialNetwork.relast b/solve/src/main/jastadd/SocialNetwork.relast
index 7348089702aa576b817429cf3f207c1985a16e56..7156eecedeb105486a211cd46c3833b203cdb889 100644
--- a/solve/src/main/jastadd/SocialNetwork.relast
+++ b/solve/src/main/jastadd/SocialNetwork.relast
@@ -7,6 +7,6 @@ abstract Submission : ModelElement ::= <Timestamp:Long> <Content:String> Comment
 Comment : Submission ::= ;
 Post : Submission ::= ;
 
-rel User.friends* -> User ;
-rel User.submissions* -> Submission ;
-rel User.likes* <-> Comment.likedBy* ;
+rel User.Friend* -> User ;
+rel User.Submission* -> Submission ;
+rel User.Like* <-> Comment.LikedBy* ;
diff --git a/solve/src/main/jastadd/queries.jrag b/solve/src/main/jastadd/queries.jrag
index 8d4ce7af543e5510aeba9e128d43bd1e35ebe6c8..d14c681f0a27c3436c769627fb56a88abff42759 100644
--- a/solve/src/main/jastadd/queries.jrag
+++ b/solve/src/main/jastadd/queries.jrag
@@ -7,8 +7,8 @@ aspect Queries {
 //    java.util.Set<User> s = this.getCommentLikerFriends(comment);
     java.util.Set<User> s = new java.util.HashSet<>();
     s.add(this);
-    for (User f : friends()) {
-      for (Comment otherComment : f.likes()) {
+    for (User f : getFriends()) {
+      for (Comment otherComment : f.getLikes()) {
         if (otherComment == comment) {
           s.add(f);
           for (User commentLikerFriend : f.getCommentLikerFriends(comment)) {
@@ -23,7 +23,7 @@ aspect Queries {
   eq Comment.score() {
     int score = 0;
     java.util.Set<java.util.Set<User>> commentLikerGroups = new java.util.HashSet();
-    for (User user : likedBy()) {
+    for (User user : getLikedByList()) {
       commentLikerGroups.add(user.getCommentLikerFriends(this));
     }
     for (java.util.Set<User> userSet : commentLikerGroups) {
@@ -36,7 +36,7 @@ aspect Queries {
   eq Post.score() {
     int result = 0;
     for (Comment comment : commentsForPost()) {
-      result += 10 + comment.likedBy().size();
+      result += 10 + comment.getLikedByList().size();
     }
     return result;
   }
diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/Main.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/Main.java
index cae22a25620362587a9d3b8afcb7dac824c1df9b..d899e4b0599dad2cb7640a4f5d1cef6105002dc2 100644
--- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/Main.java
+++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/Main.java
@@ -29,14 +29,14 @@ public class Main {
     result.setId(id);
     sn.addUser(result);
     for (Comment comment : likes) {
-      result.addToLikes(comment);
+      result.addLike(comment);
     }
     return result;
   }
 
   private static void addFriends(User one, User... others) {
     for (User other : others) {
-      one.addToFriends(other);
+      one.addFriend(other);
     }
   }
 
@@ -196,10 +196,10 @@ public class Main {
             .map(c -> c.toString() + ":(" + c.score() + "." + c.getTimestamp() + ")")
             .collect(Collectors.joining(", ")));
     for (Comment comment : scoringComments) {
-      logger.debug("{} likedBy {}", comment, comment.likedBy());
-      for (User user : comment.likedBy()) {
+      logger.debug("{} likedBy {}", comment, comment.getLikedByList());
+      for (User user : comment.getLikedByList()) {
         logger.debug("{} and {}: {}", comment, user, user.getCommentLikerFriends(comment));
-        logger.debug("{} friends: {}", user, printList(user.friends()));
+        logger.debug("{} friends: {}", user, printList(user.getFriendList()));
         // check that commentLikers are all friends
       }
     }
diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/Translator.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/Translator.java
index b93584e6d0f79cd2fffe49317665f775c8a8c873..0c5da4fd713e2eb50134d43123609d1e2a6cbbf4 100644
--- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/Translator.java
+++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/Translator.java
@@ -69,19 +69,19 @@ public class Translator {
       User user = userMap.get(emfUser);
       for (SocialNetwork.User emfFriend : emfUser.getFriends()) {
         User friend = userMap.get(emfFriend);
-        user.addToFriends(friend);
+        user.addFriend(friend);
       }
 
       // fix submissions
       for (SocialNetwork.Submission emfSubmission : emfUser.getSubmissions()) {
         Submission submission = submissionMap.get(emfSubmission);
-        user.addToSubmissions(submission);
+        user.addSubmission(submission);
       }
 
       // fix likes
       for (SocialNetwork.Comment emfComment : emfUser.getLikes()) {
         Comment comment = commentMap.get(emfComment);
-        user.addToLikes(comment);
+        user.addLike(comment);
       }
     }
 
diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/translator/XmlToJastaddTranslator.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/translator/XmlToJastaddTranslator.java
index 7e4f09e6477e06e01d7db0ffafa00618724ee2b1..1020579064b2fca30c0ca44cdf501c9617fe66c6 100644
--- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/translator/XmlToJastaddTranslator.java
+++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/translator/XmlToJastaddTranslator.java
@@ -81,7 +81,7 @@ public class XmlToJastaddTranslator {
       String[] submissionTokens = userAndSubmissions.getValue().split(" ");
       User user = userAndSubmissions.getKey();
       for (String token : submissionTokens) {
-        user.addToSubmissions(submissionMap.get(Long.valueOf(token)));
+        user.addSubmission(submissionMap.get(Long.valueOf(token)));
       }
     }
     // resolveModelElement friends
@@ -90,7 +90,7 @@ public class XmlToJastaddTranslator {
       String[] friendsTokens = userAndFriends.getValue().split(" ");
       User user = userAndFriends.getKey();
       for (String token : friendsTokens) {
-        user.addToFriends(userMap.get(Long.valueOf(token)));
+        user.addFriend(userMap.get(Long.valueOf(token)));
       }
     }
     // resolveModelElement likes
@@ -99,7 +99,7 @@ public class XmlToJastaddTranslator {
       String[] likesTokens = userAndLikes.getValue().split(" ");
       User user = userAndLikes.getKey();
       for (String token : likesTokens) {
-        user.addToLikes(((Comment) submissionMap.get(Long.valueOf(token))));
+        user.addLike(((Comment) submissionMap.get(Long.valueOf(token))));
       }
     }
     logger.info("Done translating");
@@ -256,7 +256,7 @@ public class XmlToJastaddTranslator {
         String[] tokens = parsedUser.friends.split(" ");
         for (String token : tokens) {
           User friend = resolveUser(token, modelChangeSet);
-          user.addToFriends(friend);
+          user.addFriend(friend);
         }
       }
       // maybe set other fields? (submission is set, but refers to later introduced changes)
@@ -284,7 +284,7 @@ public class XmlToJastaddTranslator {
       submission.setContent(parsedSubmission.content);
       // resolveModelElement user
       User submitter = resolveUser(parsedSubmission.submitter, modelChangeSet);
-      submitter.addToSubmissions(submission);
+      submitter.addSubmission(submission);
       // check if there are any comments attached
       if (parsedSubmission.comments != null) {
         for (ParsedComment parsedSubComment : parsedSubmission.comments) {
diff --git a/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/Query1SortingTest.java b/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/Query1SortingTest.java
index aef837be775860c534140f333c0815a1bfcd8159..61f507326e6016b2d9892b572670457bd8fa7570 100644
--- a/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/Query1SortingTest.java
+++ b/solve/src/test/java/de/tudresden/inf/st/ttc18live/test/Query1SortingTest.java
@@ -49,8 +49,8 @@ public class Query1SortingTest {
             User user = new User();
             user.setId(7001L + j);
             result.addUser(user);
-            submitter.addToSubmissions(comment);
-            user.addToLikes(comment);
+            submitter.addSubmission(comment);
+            user.addLike(comment);
           }
         }
       }
@@ -67,9 +67,9 @@ public class Query1SortingTest {
     StringBuilder sb = new StringBuilder("Users = ");
     for (User user : socialNetwork.getUserList()) {
       sb.append(user.getId());
-      if (!user.likes().isEmpty()) {
+      if (user.getLikes().size() > 0) {
         sb.append("-likes->{");
-        for (Comment comment : user.likes()) {
+        for (Comment comment : user.getLikes()) {
           sb.append(comment.getId()).append(",");
         }
         sb.append("}");