Może lepiej napisać to w C