refactored and reorganized
Added a GTK gui to test the library