refactored entry point creator