changed multiple functions