functionalities refined