added basic framework