Fractal definitions and theory