it would be better to move this method in the end of class