refactored the document mapper so that documents dont know about models
added some notes