rework from notebook