added cases at bottom with lots of help from thinkful