classed it up, so you can have more than one FM - still needs some serious refactoring