removed asyncs cause it was too hard to be consistent