Делаю параметризацию и интерфейсы