create the main framework