refator page widget