added untested free-floater functionality