new method and more tweaks