Merge pull request #1 from obf73/remove_ifs

Remove ifs
Merge pull request #2 from obf73/testing

added some tests
Merge pull request #3 from obf73/testing

move tests
Merge pull request #4 from obf73/parser_refactor

refactor parser
parser good
Merge pull request #5 from obf73/parser_refactor

parser good
Merge pull request #6 from obf73/master

added some tests