making sure fn.shake always returns this