MFL logic moved to its own class