Updated the whole module with new naming and new functions