Updated to better Swing framework