Copied most code from marked, rearranging them into different files
Moved grammer into a package; identified parsers as inline and block