Some practice refactoring for metis