yes let's improve it, i know i merged this from previous work from @dantleech