clean up models, add comments, base class