refactor DrawPattern -- stage 2