Changing architecutre, using factory, remow pageAddress parameter,...
remove some unuse methods