refactors recursive parameter parsing
finishes up basic + some extra stuff