I've added my API for circulation modules to the cvs repository (C4/Circulation/Circ2.pm), as well as my latest tk circulation interface (/tkperl/tkcirc) which depends on Circ2.pm. Some things I know I'm still missing: Branch and printer selection I don't create a database handle in the circulation code itself. This means that the subroutines in Circ2.pm must open and close a database handle with each call. I don't know if this delay hurts overly much, but it's there. I've been thinking that I should create the the database handle in the circulation code and pass it to the subroutines. If the database handle isn't defined, the subroutines can always create their own as a fallback. My understanding of the accounting system underlying Koha is scratchy at best. I just copied the accounting code from the existing interface... Still missing payment option in the interface (and the API, for that matter). Steve