Added Payment and User classes, adding tests and refactoring