method takescreenshot enhanced