finished a few more methods, such as m2q