put code into different package
add onServerException method