actually it seems like moving the self into the args list makes things cleaner overall, I'd say