done for the day, added some tests, etc.