fixed to return early