Add a better parser