first version, add autoupdate