setup runs if directory is empty, update runs if all directories exist