refactored, test data updated