attr and val-functions.