implicit conversion for S