maybe Exchange type is useless