Added structure, and tests