Add more javadocs to explain contract