bc3edf5c1150edd40bbc54b5b9d18ace::::::::::::::::