Use timeout() instead of forking