fleshes out Filter()
fixes bug in Path()
adds If statement and datatypes