Added async decorator to optimise IO