added new functionalitites