a better workaround