add appframework