add basic app framework
update