replaced abstract success with check for contents of result