record entry point