added in GridBagLayout and listeners
solving merge conflicts