more detailed slate.js todo