consistent initialization