more specs and api stuff