ported bmc module + tests