group all function together