restructured to the maven way