attribute resolver