refactoring - every step no longer has its Mat