Ported to sublime text 3