restructured methods.