fixed another bug in once implementation