Improved parser