why have I been doing this by hand for so long?