major work or model and service layers

this hopefully will resolve the serialization and lazy load issues