A3 Base Working; tested with py.test; -ve tests included