add circular_distance_layer, but not tested; just for compiling, do not use it.