adding Manager pattern