Refactored as a maven project.