Started on rewrite. More soon to come.