initial framework setup