refactoring, reorganizing lib, adding gist sender