split Annotations to abstract class and default Implementation