refactor()
fix(): prevent bind, call and apply