Added improved javadoc
Added chained constructors