Updated to include new functionalities