- added more parameter validation
- made sure name was saved in id block
- added missing documentation
- made sure the Apache license was in all code