refactored swing gui to its own package + implemented settings in a more flexible way