Second (untested) iteration for #13