won't compile because of missing returns