view profile implementation