add mash tab and some refactors