@phra: very detailed