Updated to implement more data functions