Refactoring into PLugins (WIP)