use all arguments not just first one in reporting errors to the console
Refactor assertions to be more descriptive and generic