committing last check point; messy