Restructured core methods.