add description of what the job of this class is in javadoc