add loop for supported types
make call operator for all types