unit tests would be good