Basic structure from the library.