adding several missed function etc