implement editor