hm, removing this may lead to strange effects - i.e. body of classes being evaluated twice since they are first instantiated