todo step separation