refactor bind method