improved vecmath