centralize type resolving