use gradle to manage everything

maybe next step we need some test