commented lots of code | model change in progress