turning mraimpl.h back to being used just for static instantiation to optimize compile time