refactor and test coverage improvement
- project structure refactored (based on the resource project)
- test configuration added
- ImmutableSubject test added