Refactored edit client