better path comparison and stuff