Added more implementation code