better perfomance and javadov modification