Abstract out a few methods, for the future