correctly implemented adding generic type parameters.
included missing files