update with support for Swift