use type long for parameter