README time!
these functions need tests before I go much further