Better recursion
Log error instead of dying