total rewrite in progress