resolves #7, resolves #8