add abstract parent support bearcat IoC