add edit and remove function