derived functions