added method angleBetween()