Adding structure. This closes #1 and this closes #3