added some text to the readme.md
reorganised extensions into there own files, moved common items to a common internal class