extend some functionalities