patched and fixed