Updated API, Added basic test suite