implemented update feature