moving stuff into mraimpl ... a lot left due to use of templated members and structs ... need more indirection to hide these. sigh.