Adding beginning of M1 implementation. Basically empty classes