С некоторыми правками...