adapted to multiple configuration