0.9.3 rewrite