reorganize
separation of concerns