added iota function and cleaned up static_asserts