merged in new slate.js