bulid App framework