account model and unit tests