90% compatible parser