sub classes support