refactor--modify Item and test