finishes refactoring of must functionallity