1. Refactor the java side code. To make it more clean 2. support all Writable value types.