don't we need args and kwargs here to be futureproof?