Lazy initialization. Removed unnecessary fields.