code responsibility