added hypot func for retards