make it little bit faster, worry that it is not thread safe