added custom point class