change datapoint to a class and update readme to reflect changes