added path normalization and tests