basic util more functinal now