improved init scheme a little more