Revert "reverted to old commit"

This reverts commit 443ecf9169b83dea57e7127a45f11dc9bbda7bdd.
Revert "associate array param still not quite right"

This reverts commit 8012e69a0aa3a1ef78bd032c473c1f9c7b8c235e.