refactored extensions. still needs testing.
multi class migrations