refactor to make it more configurable