one of the big complaints of the current state of the library is that many arguments which could be implicit are not. Try to refactor to actually make them implicit