Implemetation of delegate framework