more API functionality
added throwable to functions so that app authors can respond appropriately