basic point class implementation