(this is mandatory homework)