unit formation fixes; code cleanup

vector.angle(...) only gives absolute values so added cross product fix
for that.