it's possible that it is useful for other initializers also.