slowly working. it needs speed up(