updated controllers to use async/await throughout