avoid using size of non-static data member (doesnt't compile with clang for some reason)