13 rewrite a lot of stuff