finish up doublespecial handing, most of it can take place in python with a tad still leaking into javascript for client side limits