add app framework