Thanks its mainly just when i accidently click wrong thing because i have a shaky hand so just undoing the last thing I did would be great. I'm not sure if possible in your program but could you just track the 'Pixels' that was just created compare them to how it was before you created a new 'Pixel' and then just undo that? Sorry if I explained it badly happy to try explain it better. Just thought this method means not having to track all the possible things user can do and only track whats change on the (don't know what you call it) so lets say canvas