mid-way refactoring into user class