Refactored into maven structure