correct main and parser