Revamped nearly the whole application and make use of CardLayout