basic framework fixed