coding standards
add $timezone param for factory methods
tests refactoring
tests refactoring