oops, use my sleep func