Added suspend() need some testing