refactored to 1.2.2