add async to control the logic