Improved naming and added more Javadoc