Instead of reinventing wheel, added sharpshell lib