abstract receiver script