GENERAL CHECKS TODO: don't forget to submit on the LMS! FINAL CHECKS TODO: document all functions and properties