moved direction back to as-io
split converter factory methods instead of using direction