added swing boilerplate