swing for functions