update and fixed