fixed #3, fixed #4