removed not good enough optimization (time taken > time saved)