added Account functionality, organized into packages