assignment 04 & ruby impl of crawler