Fixes #70, fixes #69, fixes #23