basic framework constructed