added explicit possibility to control target type