methods should follow srp too