i rewrote it without static