Author: ngpearson119@outlook.com