fixed #16 fixed #21