add asg functionality. start building out vivify, still a WIP