add replay function