CONQUERING FUNDAMENTAL DESIGN IN JAVA: A COMPREHENSIVE MANUAL