Parser more or less final version