Intermediate Commit on Dec 5th for refactoring
All done on Dec 6