Changed suspend to allow recursion
Demo Updated