implemented what I proposed in #13