changes after early morning brainstorming - adding a return value