Solves #91 and solves #80