Added lifecycle interface and more