allows customizable in/out extensions