Complete rewrite...