Add licence information
Add test cases (unfinished)