* Refactor into domain