redesigned to 2 modules (core and maven-plugin)