refactor to maven