assertions and testing