Updated with new functions and names