#20 - unit tests