Need to add overflow check later