finish Value refactoring