why it should return 200 status code? why not 300?