#33: add 'views' module

Resolves #33.