Adapted naming, added some implementation.