initial groups
allows nested options (groups)

closes #11
merge
cleanup