apparently andrew doesn't understand loops