modified the project in order to respect the real type of variable and added some javadoc