fixes #33 fixes #32 fixes #34 fixes #35