fixed bug
fixed bug v2
fixed v3