renamed directory structure, added more interfaces and datastructures, and added some rubberduck tests