ACHIEVING FUNDAMENTAL ARCHITECTURE IN JAVA: A DETAILED MANUAL