Finished list form and update logic.
TODO: insert delete