fixed cut method and refactored