instead of raising error, we can use `defined?`