made push! asyncronous and made unicode use an array