from now on, M is a real java class