add documentation and gradle runMain