new pub model and controller
updated Public page
updated publicpage() function