api is now built as a prototype for speed during init