add more utils functions