Licensing info (fixes #3!!!), restructure, consistent naming conventions and patterns