updated to work with latest PDL, added splat matching context
updated tests a bit