fixes #5, #6, #7