Solves #19.