pass dict instead of keywords; better semantics.