add portal page and function