prototypes for attribute functions