adds more abstraction to setup script