Add descriptor builder
Add test cases
Fix javadoc
Add test cases