finished basic parsing structure