add more tests on date + improve performance
better factor conversion memory efficient