update to handle passing arguments