adding needed functionalities to Point