some new functions complete with errors