committing WIP for rewrite