added a few new tests, still incomplete