#26
Abstractions and a test