final refactor
Merge branch 'dep-types'