Framework for 210 project 4