Main class as an entry point with integration test added, gpl in header added