class templates added