checkpoint
working on dm