it works, but need some adjustements, refactoring and testing
+ need to add multipart/form-data parsing