begin refactoring
fix merge conflicts
fix mc