add other callback
add destroyItem
add member var
exception case
remove unneeded exception case
remove white spaces
refactoring