dry w private methods