update and adding fully working