Add comments + update javadoc