add factory and wrapper
and edit pom xml