made interface module a little dryer