These methods can all be unit tested as well