core functionality complete - bells and whistles to follow