Restructuring
Added pydispatch