changing main class to its own standalone class, to not use the trait. Restores < 5.4 support