asserts here are redundant.