fixes #54 #55 #56 #57 #58 #60 #61