fix: check if attributes exist before requesting