refactor - implement interactions module