abstraction by Valeriia Vlasovtseva