implementing a few methods.