worked heavily on API for Common to make sure everything that is public should be