allow empty return, closes #29