forgot to cater for -1 unlimited values. fixed