added some implementation ideas