added framework detection helper