Added in checks to remove redundant propagation
converted indexof checks to coffeescript in checks
Updated read check to number of arguments rather than checking for undefined