added basic app framework