Major methods written and tests added