TODO: Add delete and update functionality. Feel free to add complexity and functionality as appropriate.