null fix
some refactoring
major refactoring, type revision
new version and some fixes