M .functions