introducing main methods, adding mvn assembly plugin for packaging all dependencies