few more ideas, split out api