fixed bug with type parameter