working version; preparing for release