optimize data layer
Merge branch 'refs/heads/master' into new-new-transaction