move it to external type