initial commit of code along with gradle build system to allow importing into IDE's easier