refactored and added documentation to the account entity