Having a smart contract pay transaction fee for the caller

Would it be possible to use fee pooling such that an account with zero algorand balance (a new account basically) makes an application call and the smart contract pays the transaction fees?