implement edit concept