made more generally usable