Add add, delete and edit impl (fix #4, fix #5, fix #6)