Implement rows in a much simpler way. Closes #148.

This obsoletes #155
:+1: