be careful and encode reserved separators