fixed #33, invalid #31