fixes #4
#4
#3
#5
fixes #3 #5