book catalog completed with input validation