improve readabiltiy and parser