adding better support for swift