added rough workings