backup of the changes until now
my implementation finished. I start testing