first cut.  not compiling