implement sceditor