[#53] handle exceptions
[#51] add menu