adding new misc functions