Refactoring: use Struct.
Merge branch 'refactoring'