whole branch logic wobbly better syntax needed, but working(ish) for now
was slightly messy with small/large now needed different test for expression and statements