Entry point class