minor changes
some refactoring
some refactoring
some more refactoring
complex comparison changed
fixed
stuff