added lifecycle call