argument passing; framework infrastructure