This is the Coock Framework