setup basic framework