added message passing for parsing.