follow 301, 302, 303, 307, 308 properly