First Commit - basic functionality added for current project

Basic works have been put down to make use of the api, however only methods needed for my project have been added.

Signed-off-by: Ben Hawker <hawker.ben@gmail.com>