Improve points: add optional functions