My own framework