Chanaging order of parameters and adding documentation.
Polishing error handling and responses.