more robust oapmc module