#7 get rid of generics and move annotation to field