Parsing and crawling are kind of working

There are also some improvements on the design and the initial JavaScript implementation