switched entry point