start on the new functions