Improved readability
Improved project setup
Cleaned up Java compiler warnings