first major refactor of Trails/Data, much better performance and can
now support other data adapters