resolves #8, resolves #9