add some asserts for better readability