support extends and uses