Solves #22.