abstract path.