TODO: Unit test