refactor without fear