set up main entry point for application