Added blocks as alternative to delegate methods