initial parser. Will change a ton