added backward and cache function
added filter vs simple loop
added for vs for in
reverse while is the fastest