update and fixed #17