Added Full CRUD. TODO: add comments.