updated some of the requirements. WIP