#14 user preferences

Implements issue #14