the editor itself I'm trying to make generic as possible