raise can now throw errors with messages, AttributeError will be thrown with name of missing attribute.