this version seems to work. well see how fast it is...