Please be aware that this function will throw.