dont use function bind