complete simple parser