add several new functions