working
add optional inteval
add optional inteval