many changes #R