Make completion handler optional

and added convience method