replaced angle() by acute() where it made sense to avoid acos