add ready function