use scala style type parameter