Started reimplementing with new commons library