I feel like some more syntax classes might help here.