change order of functions because why not