EG: wip; almost there;