bug 929 - p2.1, p2.3, p2.4 - not done p2.2 - requires exploration of the api