Reorganize project and start groovy implementation
Complete groovy implementation