abstract trasfer class