improved kernel for patterson, more options for tweaking