need to fix out of bounds