Added room generation logic