as this works only on int/long we should validate the type here