updated to use more recent versions and incleded a test case