Elaborate on what the fn does