changed the way to return