Housekeeping and organization. Also added new java files