basic implementation of transfer function