completion blocks added