read in arguments dynamically