diff --git a/cp-to-solution.sh b/cp-to-solution.sh
index 8625927f807872d5fa71c35ef3ee60f26cd33647..5d2df2ee73de2b1b1f5b9a9a8ecf54bdbea4227c 100755
--- a/cp-to-solution.sh
+++ b/cp-to-solution.sh
@@ -17,7 +17,7 @@ function build_sed_deactivate() {
 function build_incremental() {
   #TODO
   name="$1-inc"
-  echo "Building $name"
+  echo ">> Building $name"
   build_sed_activate
   sed -i 's/--flush=full/--flush=api/g' solve/build.gradle
   sed -i 's/"--incremental=[^"]*"/"--incremental=param"/g' solve/build.gradle
@@ -29,7 +29,7 @@ function build_incremental() {
 function build_flushing() {
   #TODO
   name="$1-flush"
-  echo "Building $name"
+  echo ">> Building $name"
   build_sed_activate
   sed -i 's/--flush=api/--flush=full/g' solve/build.gradle
   sed -i 's/"--incremental=[^"]*"/"--incremental=none"/g' solve/build.gradle
@@ -87,6 +87,13 @@ sed -i 's/LiveContestDriverEMF/LiveContestDriverXml/' solve/build.gradle
 build "jastadd-ttc18-xml"
 
 revert_namelookup
+
+# workaround for failing build
+sleep 1
+./gradlew --console=plain preprocess jastadd build
+sleep 1
+./gradlew --console=plain preprocess jastadd build
+
 # Build jastadd-ttc18-xml
 sed -i 's/LiveContestDriverEMF/LiveContestDriverXml/' solve/build.gradle
 build "jastadd-ttc18-relast-xml"
diff --git a/solve/src/main/jastadd/Checking.jrag b/solve/src/main/jastadd/Checking.jrag
index 88cfb6ee266084fa490424001ca3f14077857105..b4dd7f5e8e959f97cdab21eccf0b45ea9666dcb3 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(getFriendList(), "Friend") &&
-           checkGeneralListValid(getSubmissionList(), "Submission") &&
-           checkGeneralListValid(getLikeList(), "Like") && checkThat(getName() != null, "User" + getId() + ".Name == null");
+    return checkGeneralListValid(getFriends(), "Friend") &&
+           checkGeneralListValid(getSubmissions(), "Submission") &&
+           checkGeneralListValid(getLikes(), "Like") && checkThat(getName() != null, "User" + getId() + ".Name == null");
   }
 
   eq Submission.isValid() {
diff --git a/solve/src/main/jastadd/Refs.jadd.unused b/solve/src/main/jastadd/Refs.jadd.unused
index 53a7768d4d04d734a6c57cd51b5a56a09032b531..ac6e44ffed3fa60155977f775c535d81d3159c0c 100644
--- a/solve/src/main/jastadd/Refs.jadd.unused
+++ b/solve/src/main/jastadd/Refs.jadd.unused
@@ -1,4 +1,6 @@
 aspect NameLookup {
+
+  // accessor replica getFriends
   syn java.util.List<User> User.getFriends() {
     java.util.List<User> result = new java.util.ArrayList<>();
     for (UserRef userRef : getFriendRefList()) {
@@ -7,6 +9,24 @@ aspect NameLookup {
     return result;
   }
 
+  // accessor replica getLikes
+  syn java.util.List<Comment> User.getLikes() {
+    java.util.List<Comment> result = new java.util.ArrayList<>();
+    for (CommentRef commentRef : getLikeRefList()) {
+      result.add(commentRef.getComment());
+    }
+    return result;
+  }
+
+  // accessor replica getSubmissions
+  syn java.util.List<Submission> User.getSubmissions() {
+    java.util.List<Submission> result = new java.util.ArrayList<>();
+    for (SubmissionRef submissionRef : getSubmissionRefList()) {
+      result.add(submissionRef.getSubmission());
+    }
+    return result;
+  }
+
   syn java.util.List<User> Comment.getLikedByList() = socialNetwork().getLikedByMap().get(this);
 
   syn Map<Comment, java.util.List<User>> SocialNetwork.getLikedByMap() {
@@ -15,8 +35,8 @@ aspect NameLookup {
       result.put(comment, new java.util.ArrayList<>());
     }
     for (User user : getUserList()) {
-      for (CommentRef commentRef : user.getLikes()) {
-        result.get(commentRef.getComment()).add(user);
+      for (Comment comment : user.getLikes()) {
+        result.get(comment).add(user);
       }
     }
     return result;
diff --git a/solve/src/main/jastadd/SocialNetworkNamelookup.ast.unused b/solve/src/main/jastadd/SocialNetworkNamelookup.ast.unused
index 7156eecedeb105486a211cd46c3833b203cdb889..f1b45cf5988d5b97bf1a7f72ddf4a158163c92ad 100644
--- a/solve/src/main/jastadd/SocialNetworkNamelookup.ast.unused
+++ b/solve/src/main/jastadd/SocialNetworkNamelookup.ast.unused
@@ -1,12 +1,12 @@
 abstract ModelElement ::= <Id:Long> ;
 SocialNetwork : ModelElement ::= User* Post* ;
 
-User:ModelElement ::= <Name:String> ;
+User:ModelElement ::= <Name:String> FriendRef:UserRef* SubmissionRef:SubmissionRef* LikeRef:CommentRef* ;
 
 abstract Submission : ModelElement ::= <Timestamp:Long> <Content:String> Comment* ;
 Comment : Submission ::= ;
 Post : Submission ::= ;
 
-rel User.Friend* -> User ;
-rel User.Submission* -> Submission ;
-rel User.Like* <-> Comment.LikedBy* ;
+UserRef ::= <User:User> ;
+CommentRef ::= <Comment:Comment> ;
+SubmissionRef ::= <Submission:Submission> ;
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 d899e4b0599dad2cb7640a4f5d1cef6105002dc2..908fbc05214b69a0a49fd01639f03ebaa4649650 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
@@ -199,7 +199,7 @@ public class Main {
       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.getFriendList()));
+        logger.debug("{} friends: {}", user, printList(user.getFriends()));
         // check that commentLikers are all friends
       }
     }