refactor, use maven