sample app which uses protocols in objective-c