changing to size_t and signed unsigned