did some refactoring to make error responses code smaller. server_p seems to work pretty good but server_f is having trouble