class extraction attempt