Other attempt to integrate adapter with model
Pretty sure it works now
Refactoring time!
JDing
Cleaning up