we might support `-1` in the future so maybe we want to make it future proof and use an int rather than vint?