WIP. Good progress.