complete wysiwyg editor implementation