refactored and added test to verify composition and manifest