Project architecture ---------------------