Implemented All The Functions