finished the first part and tested it