add javadoc(draft)