kaity's custom adapter class