accept more args. will need to do some better type parsing.