contracts added. javadocs