I've been through it all. by @silvercrystlz