get roles right and fix a FIXME
Actually parametrize the Constructor with the Datatype