module re-writes

mainly i2c handler changes. needs testing