Initial API work & project restructuring