added more generic vm setup