Refactor types + models