Useful extensions of recurring contribution functionality in civicrm