completed refactoring baseOccupancy; split up logic into several classes/files