improved swift interop