Mostly translated and adapted