todo
split TODO work