improved item class construction