use Maven multi-module for better management