added XYPoint class