added comments for public functions