major refactor to allow multiple provisioners per image