object templat argument todo check correct templat paramet substitut 