improved folder layout and gradle configuration