Rename + add doc and code.
Fix gpl headers
Add basic methods.