Worked on several functions