first stab at a complete inplace editor.  Needs to be cleaned up