implemented strtoul