Another try at custom parser