set up basic framework