adapted to new init_firm semantics