parsing is working; just need to get the laziness down.