made saving async, should prevent lag