create intermediate class for lazyness trick