another attempt - this time a copy of revel's tutorial section