create, update, delete finished, working on retrieve