Fixes #6 #8 + #9