Now has a field for datapoints and can take doubles as parameters for functions