handle parameters and return types