use custom flatiron routing and adhere to api principles; refs #3