transformed into a multi-module project, library and example application