use Integer instead of int for safer passing
updated