updated with a new test (below)