Task 11.1

I don't know how to test this code, so I didn't write any tests yet.