Continued work on this rewrite