added auto-update feature