finalised swing version