Refactor Profile and add its specs