Modified such that points can be followed. And easily modified as singleton