Finished implementation - need to test'