Mushroom Implementation
Amended previous commit