need a way to recurse and the easiest way is with delay i think