small refactor
support various folder description formats
switch to switch