Error on swap when mark has not been set. Also, initialize the mark and drop a global member that I didn't use.