8e8d8fdc7725b29d3efdfade43f2d3b8::::::::::::::::::::::