use apply() instead of call()