I've been putting this off for a while, but now is finally the day. We already did this for CLAP a while back. This is both simpler and less error prone.