revise entry point prototype