Implementation almost ready to test!