Redoing some of the framework