Work out flow.....