profile page implementation and logic