fixes #58, fixes #59, fixes #60, fixes #61, fixes #62