I tried to copy the VSA api documentation in terms of grouping commands but it gets confusing. Any suggestions or is what I've done here good enough?