it's better to move this method to private section