added Swift version