configurable init