added first run entry point