parameterized and separated into a form and a use.