combine all parts to one page, basically complete all functions.