indentation improved
classes segregated into separate java files