first commit: implemented typed parameters.