classes nicely wrapped into modules to provide a namespace
publishing of gem automated