added initial framework