TODO. Do your part properly so that we don't have to create several different classes to implement your part together with the rest. It should be easy to put it altogether.
Merge branch 'aiser'