Work on IDE, some refactoring, some additions