page calculation can be moved to separated method. I think it will be better