Interface by Andrey Vasiliev