added sublime stuff
Throw if first param isn't a function