refactoring plus making schedule a single global entity tracked on the java side plus incorporating steve's README feedback