parsing still a little buggy but close: