Yield and User Input added