added gradle support and initial unit tests