stage one of vim rework