haz performance by cache [].slice and replace apply with call