modify requirements
finish models