refactored initialization

as prompted by @cdent