changed fails to asserts, used specific asserts wherever possible