TODO: work on the edit mode