* added tests to complete coverage
* added variable name restrictions

todo:
* fix escaping