----------------------------type A--------------------------------