Solved all current errors and warnings
Added abstract RangeException
Added Direction enum