added adaptation functions