pass pointer instead, not sure will it make any difference.