going to add some small bound checking