changed constructor, it now uses complete names of arguments and the this keyword, for clearer code and javadoc