implementation of delegate famework