Updated the file to implement all methods.