revamped source tree to work with gradle