didn't handle overflow problems well