basic argument restrictions