sample framewprk