Make model into single package. Cleanup and comments throughout