added symbolic path construction to avoid having to reconstruct the same paths over and over again