revised patch from gaby