My first implementation.