Added cancel
Rearrangement and fixes