use gradle to handle dependency management