update & fixed bug