javadoc and changed more validating to exception based