removed deprecated method
intermediate refactoring step
simplified annotation based approach, explicit mappings improved