refactored to numpad