separate chrome extension calls from business logic